home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 11 / FM Towns Free Software Collection 11.iso / t_os / demo / takara / cos_sin.bas < prev    next >
Encoding:
BASIC Source File  |  1995-08-18  |  17.5 KB  |  500 lines

  1. 1000 SCREEN@ 0:CLS
  2. 1010 DEF FONT "システム   16ドット"
  3. 1020 '
  4. 1030 REM ****WAKU EGAKU
  5. 1040  FOR J=0 TO 20 STEP 2
  6. 1050    LINE(J,20+J)-(630-J,404-J),PSET,5,B
  7. 1060  NEXT
  8. 1070  FOR J=0 TO 12 STEP 2
  9. 1080    LINE(J,410+J)-(630-J,476-J),PSET,5,B
  10. 1090  NEXT
  11. 1100  SYMBOL(240,150),"SIN COS グラフ だよ",1,1,5,0,,8
  12. 1110 '
  13. 1120 GOTO *BUNKI
  14. 1130 '
  15. 1140 REM ****** SETUMEI
  16. 1150 *SETUMEI
  17. 1160  LOAD@"GAMEN4.TIF",(26,108)
  18. 1170  LINE (139,149)-(291,149),PSET,1,,&H6666
  19. 1180  LINE (139,290)-(291,290),PSET,1,,&H6666
  20. 1190  CIRCLE(139,219),70,6,,,,N
  21. 1200 '
  22. 1210  LINE (139,219)-(196,180),PSET,2
  23. 1220  LINE (196,180)-(196,219),PSET,2
  24. 1230  LINE (139,219)-(196,219),PSET,2
  25. 1240  SYMBOL (157,205),"θ",.75!,.75!,7
  26. 1250 '
  27. 1260  LINE (196,180)-(317,180),PSET,1
  28. 1270  LINE (317,161)-(317,219),PSET,2
  29. 1280  CIRCLE(317,161),2,3,,,,F:CIRCLE(317,180),2,5,,,,F
  30. 1290  CIRCLE(196,180),2,2,,,,F
  31. 1300  SYMBOL (124,225),"0",.75!,.75!,7
  32. 1310  SYMBOL (125,207),"A",.75!,.75!,7
  33. 1320  SYMBOL (193,162),"B",.75!,.75!,7
  34. 1330  SYMBOL (193,228),"C",.75!,.75!,7
  35. 1340 '
  36. 1350  LOCATE 7,23:PRINT SPACE$(70);:WAIT 50
  37. 1360  LOCATE 7,23:COLOR 6:PRINT "SIN COS グラフの書き方を教えるよ。";
  38. 1370  WAIT 200:LOCATE 7,23:PRINT SPACE$(70);:WAIT 50
  39. 1380  LOCATE 7,23:PRINT "黄色い円 O は,半径が 1 の円だよ。";:WAIT 200
  40. 1390  FOR T=0 TO 2
  41. 1400    CIRCLE(139,219),70,1,,,,N
  42. 1410    SYMBOL (124,225),"0",.75!,.75!,1
  43. 1420    WAIT 50
  44. 1430    CIRCLE(139,219),70,6,,,,N
  45. 1440    SYMBOL (124,225),"0",.75!,.75!,7
  46. 1450    WAIT 50
  47. 1460  NEXT
  48. 1470  WAIT 100
  49. 1480 '
  50. 1490  LOCATE 7,23:PRINT SPACE$(70);:WAIT 50
  51. 1500  LOCATE 7,23:COLOR 6:PRINT "赤い三角形ABCは, 直角三角形だよ。";
  52. 1510  WAIT 200
  53. 1520  FOR T=0 TO 2
  54. 1530    LINE (139,219)-(196,180),PSET,1
  55. 1540    LINE (196,180)-(196,219),PSET,1'**********************SIN
  56. 1550    LINE (139,219)-(196,219),PSET,1'**********************COS
  57. 1560    SYMBOL (125,207),"A",.75!,.75!,1
  58. 1570    SYMBOL (193,162),"B",.75!,.75!,1
  59. 1580    SYMBOL (193,228),"C",.75!,.75!,1
  60. 1590    WAIT 50
  61. 1600    LINE (139,219)-(196,180),PSET,2
  62. 1610    LINE (196,180)-(196,219),PSET,2'**********************SIN
  63. 1620    LINE (139,219)-(196,219),PSET,2'**********************COS
  64. 1630    SYMBOL (125,207),"A",.75!,.75!,7
  65. 1640    SYMBOL (193,162),"B",.75!,.75!,7
  66. 1650    SYMBOL (193,228),"C",.75!,.75!,7
  67. 1660    WAIT 50
  68. 1670  NEXT
  69. 1680  WAIT 100
  70. 1690 '
  71. 1700  LOCATE 7,23:PRINT SPACE$(70);:WAIT 50
  72. 1710  LOCATE 7,23:COLOR 6:PRINT "直角三角形ABCの斜辺ABは, 円Oの半径が1だから, 1になるよ。";
  73. 1720  WAIT 400
  74. 1730 FOR T=0 TO 3
  75. 1740   LINE (139,219)-(196,180),PSET,1
  76. 1750   SYMBOL (125,207),"A",.75!,.75!,1
  77. 1760   SYMBOL (193,162),"B",.75!,.75!,1
  78. 1770   SYMBOL (159,184),"1",.75!,.75!,7
  79. 1780   WAIT 50
  80. 1790   LINE (139,219)-(196,180),PSET,2
  81. 1800   SYMBOL (125,207),"A",.75!,.75!,7
  82. 1810   SYMBOL (193,162),"B",.75!,.75!,7
  83. 1820   SYMBOL (159,184),"1",.75!,.75!,0
  84. 1830   WAIT 50
  85. 1840 NEXT
  86. 1850 WAIT 100
  87. 1860 '
  88. 1870 LOCATE 7,23:PRINT SPACE$(70);:WAIT 50
  89. 1880 LOCATE 7,23:COLOR 6:PRINT "SINθ=BC/AB なんだよ。 今, 分母 AB=1 だから, SIN θ=BC になるよ。";
  90. 1890 WAIT 400
  91. 1900 FOR T=0 TO 3
  92. 1910   LINE (196,180)-(196,219),PSET,2'**********************SIN
  93. 1920   SYMBOL (193,162),"B",.75!,.75!,2
  94. 1930   SYMBOL (193,228),"C",.75!,.75!,2
  95. 1940   SYMBOL (194,340),"SINθ=BC",1,1,2
  96. 1950   WAIT 50
  97. 1960   LINE (196,180)-(196,219),PSET,5'**********************SIN
  98. 1970   SYMBOL (193,162),"B",.75!,.75!,5
  99. 1980   SYMBOL (193,228),"C",.75!,.75!,5
  100. 1990   SYMBOL (194,340),"SINθ=BC",1,1,5
  101. 2000   WAIT 50
  102. 2010 NEXT
  103. 2020 WAIT 100
  104. 2030 '
  105. 2040 LOCATE 7,23:PRINT SPACE$(70);:WAIT 50
  106. 2050 LOCATE 7,23:COLOR 6:PRINT "右の空色のグラフは, SIN のグラフだよ。 BC は, B'C'と同じだよ。    ";
  107. 2060 SYMBOL (320,188),"B'",.75!,.75!,5
  108. 2070 SYMBOL (320,224),"C'",.75!,.75!,5
  109. 2080 WAIT 400
  110. 2090 FOR T=0 TO 3
  111. 2100   LINE (196,180)-(196,219),PSET,2'**********************SIN
  112. 2110   SYMBOL (193,162),"B",.75!,.75!,2
  113. 2120   SYMBOL (193,228),"C",.75!,.75!,2
  114. 2130   LINE (317,180)-(317,219),PSET,2'**********************SIN
  115. 2140   SYMBOL (320,188),"B'",.75!,.75!,2
  116. 2150   SYMBOL (320,224),"C'",.75!,.75!,2
  117. 2160   SYMBOL (194,340),"SINθ=BC",1,1,2
  118. 2170   SYMBOL (304,340),"SINθ=B'C'",1,1,2
  119. 2180   WAIT 50
  120. 2190   LINE (196,180)-(196,219),PSET,5'**********************SIN
  121. 2200   SYMBOL (193,162),"B",.75!,.75!,5
  122. 2210   SYMBOL (193,228),"C",.75!,.75!,5
  123. 2220   LINE (317,180)-(317,219),PSET,5'**********************SIN
  124. 2230   SYMBOL (320,188),"B'",.75!,.75!,5
  125. 2240   SYMBOL (320,224),"C'",.75!,.75!,5
  126. 2250   SYMBOL (194,340),"SINθ=BC",1,1,5
  127. 2260   SYMBOL (304,340),"SINθ=B'C'",1,1,5
  128. 2270   WAIT 50
  129. 2280 NEXT
  130. 2290 WAIT 100
  131. 2300 '
  132. 2310 LOCATE 7,23:PRINT SPACE$(70);:WAIT 50
  133. 2320 LOCATE 7,23:COLOR 6:PRINT "BC と同じだからさ, B'C'は, SIN θだよ。 分かる?                   ";
  134. 2330 WAIT 300
  135. 2340 '
  136. 2350 LOCATE 7,23:PRINT SPACE$(70);:WAIT 50
  137. 2360 LOCATE 7,23:COLOR 6:PRINT "COSθ=AC/AB なんだよ。 今, 分母 AB=1 だから, COS θ=AC になるよ。";
  138. 2370 WAIT 400
  139. 2380 FOR T=0 TO 3
  140. 2390   LINE (139,219)-(196,219),PSET,2'**********************COS
  141. 2400   SYMBOL (125,207),"A",.75!,.75!,2
  142. 2410   SYMBOL (193,228),"C",.75!,.75!,2
  143. 2420   SYMBOL (194,360),"COSθ=AC",1,1,2
  144. 2430   WAIT 50
  145. 2440   LINE (139,219)-(196,219),PSET,4'**********************COS
  146. 2450   SYMBOL (125,207),"A",.75!,.75!,4
  147. 2460   SYMBOL (193,228),"C",.75!,.75!,4
  148. 2470   SYMBOL (194,360),"COSθ=AC",1,1,4
  149. 2480   WAIT 50
  150. 2490 NEXT
  151. 2500 WAIT 100
  152. 2510 '
  153. 2520 LOCATE 7,23:PRINT SPACE$(70);:WAIT 50
  154. 2530 LOCATE 7,23:COLOR 6:PRINT "右の桃色のグラフは, COS のグラフだよ。 AC は, A'C'と同じだよ。    ";
  155. 2540 SYMBOL (304,153),"A'",.75!,.75!,4
  156. 2550 SYMBOL (304,224),"C'",.75!,.75!,4
  157. 2560 WAIT 400
  158. 2570 '
  159. 2580 FOR T=0 TO 4
  160. 2590   LINE (139,219)-(196,219),PSET,2'**********************COS
  161. 2600   LINE (317,161)-(317,219),PSET,2'**********************SIN
  162. 2610   SYMBOL (125,207),"A",.75!,.75!,2
  163. 2620   SYMBOL (193,228),"C",.75!,.75!,2
  164. 2630   SYMBOL (304,153),"A'",.75!,.75!,2
  165. 2640   SYMBOL (304,224),"C'",.75!,.75!,2
  166. 2650   SYMBOL (194,360),"COSθ=AC",1,1,2
  167. 2660   SYMBOL (304,360),"COSθ=A'C'",1,1,2
  168. 2670   WAIT 50
  169. 2680   LINE (139,219)-(196,219),PSET,4'**********************COS
  170. 2690   LINE (317,161)-(317,219),PSET,4'**********************SIN
  171. 2700   SYMBOL (125,207),"A",.75!,.75!,4
  172. 2710   SYMBOL (193,228),"C",.75!,.75!,4
  173. 2720   SYMBOL (304,153),"A'",.75!,.75!,4
  174. 2730   SYMBOL (304,224),"C'",.75!,.75!,4
  175. 2740   SYMBOL (194,360),"COSθ=AC",1,1,4
  176. 2750   SYMBOL (304,360),"COSθ=A'C'",1,1,4
  177. 2760   WAIT 50
  178. 2770 NEXT
  179. 2780 WAIT 100
  180. 2790 '
  181. 2800 LOCATE 7,23:PRINT SPACE$(70);:WAIT 50
  182. 2810 LOCATE 7,23:COLOR 6:PRINT "AC と同じだからさ, A'C'は, COS θだよ。 分かる?               ";
  183. 2820 WAIT 300:LOCATE 7,23:PRINT SPACE$(70);:WAIT 50
  184. 2830 LOCATE 7,23:COLOR 6:PRINT "つまり, SIN θ= BC, COS θ= AC となるんだ。 よく覚えてくれ。    ";
  185. 2840 WAIT 300:LOCATE 7,23:PRINT SPACE$(70);:WAIT 50
  186. 2850 LOCATE 7,23:COLOR 6:PRINT "ここで, 角度 θ を, 連続的に変えると SIN COS のグラフができるよ。";
  187. 2860 WAIT 300:LOCATE 7,23:PRINT SPACE$(70);:WAIT 50
  188. 2870 LINE(190,335)-(387,376),PSET,0,BF
  189. 2880 '
  190. 2890 GOTO *BUNKI
  191. 2900 '
  192. 2910 *MAIN_PRO
  193. 2920 REM ****SYOKI SETTEI
  194. 2930  R=70:PI=3.14159!
  195. 2940  DEF FNA(X)=139+R*COS(X):DEF FNB(Y)=219-R*SIN(Y)
  196. 2950  DEF FNC(X)=COS(X)      :DEF FND(X)=219-R*COS(X)
  197. 2960  DEF FNE(Y)=219-R*SIN(Y):DEF FNF(Y)=SIN(Y)
  198. 2970  X01=FNA(0):Y01=FNB(0):XLL=291:YLL=218:XL0=291:YL0=149
  199. 2980  X1 =FNA(0):Y1 =FNB(0):X2=FNA(0):Y2=FNB(0):XL=290
  200. 2990 ' 
  201. 3000 REM ****EN ZAHYOU ZIKU
  202. 3010  LINE(32,  42)-(608,382),PSET,0,BF
  203. 3020  LINE(139,132)-(139,309),PSET,2
  204. 3030  LINE(49, 219)-(229,219),PSET,2
  205. 3040  CIRCLE(139,219),2,5,,,,F
  206. 3050  LOCATE 7,23:COLOR 6:PRINT "じゃ,デモを始めるよ。最初に COS カーブ, 次に SIN カーブを描くよ。";
  207. 3060  WAIT 300
  208. 3070 '
  209. 3080 REM ****ENN EGAKU
  210. 3090  FOR TH=1 TO 360
  211. 3100    X02=FNA(TH/180*PI):Y02=FNB(TH/180*PI)
  212. 3110    LINE (X01,Y01)-(X02,Y02),PSET,1
  213. 3120    X01=X02:Y01=Y02
  214. 3130  NEXT
  215. 3140 '
  216. 3150 REM ****SIN,COS ZAHYOU ZIKU
  217. 3160  LINE(282,219)-(574,219),PSET,2
  218. 3170  LINE(290,132)-(290,309),PSET,2
  219. 3180 '
  220. 3190 WAIT 100
  221. 3200 '
  222. 3210 LOCATE 7,23:PRINT SPACE$(70);:WAIT 50
  223. 3220 REM ****MAIN ROOTIN
  224. 3230 '
  225. 3240 LINE(139,219)-(209,219),PSET,4:LINE(290,149)-(290,219),PSET,4
  226. 3250 SYMBOL(128,224),"A" ,1,1,4,0:SYMBOL(212,223),"B" ,1,1,4,0
  227. 3260 SYMBOL(271,148),"A'",1,1,4,0:SYMBOL(271,225),"B'",1,1,4,0
  228. 3270 '
  229. 3280 LOCATE 7,23:COLOR 6:PRINT "左の円内の AB (COSθの値)を, 右の座標に A'B' として描いて行くよ。";:WAIT 300
  230. 3290 '
  231. 3300 FOR J=0 TO 5
  232. 3310   LINE(139,219)-(209,219),PSET,4:LINE(290,149)-(290,219),PSET,4
  233. 3320   WAIT 50
  234. 3330   LINE(139,219)-(209,219),PSET,2:LINE(290,149)-(290,219),PSET,2
  235. 3340   WAIT 50
  236. 3350 NEXT
  237. 3360 '
  238. 3370 LINE(139,219)-(209,219),PSET,4:LINE(290,149)-(290,219),PSET,4
  239. 3380 LOCATE 7,23:COLOR 6:PRINT SPACE$(70);:WAIT 50
  240. 3390 LOCATE 7,23:COLOR 6:PRINT "そうすると COS カーブになるよ。";
  241. 3400 WAIT 300'
  242. 3410 '
  243. 3420 CLS 4:
  244. 3430 LINE(128,224)-(136,240),PSET,0,BF:LINE(212,223)-(220,239),PSET,0,BF
  245. 3440 LINE(271,148)-(287,164),PSET,0,BF:LINE(271,225)-(287,241),PSET,0,BF
  246. 3450 LINE(139,219)-(209,219),PSET,2:LINE(290,149)-(290,219),PSET,2
  247. 3460 '
  248. 3470 LOCATE 7,23:COLOR 6:PRINT SPACE$(70);:WAIT 50
  249. 3480 LOCATE 7,23:COLOR 6:PRINT "COS カーブを描いているよ。";
  250. 3490  FOR TH=1 TO 360
  251. 3500  '
  252. 3510  REM ****SYUUHUKU
  253. 3520  REM ****TYUUSIN TEN
  254. 3530    CIRCLE(139,219),2,5,,,,F
  255. 3540  REM ****ZAHYOU ZIKU
  256. 3550    LINE(139,132)-(139,309),PSET,2
  257. 3560    IF TH<90 THEN GOTO 3580 ELSE GOTO 3570
  258. 3570    IF TH>180 AND TH <270 THEN GOTO 3590 ELSE GOTO 3590
  259. 3580    LINE(X1+1, 219)-(229,219),PSET,2:GOTO 3620
  260. 3590    IF TH >270 THEN GOTO 3620
  261. 3600    LINE(49, 219)-(X1,219),PSET,2
  262. 3610  REM ****KAITENSEN SYOUKYO
  263. 3620    LINE(139,219)-(X2,Y2),PSET,0
  264. 3630  REM ****SUISEN SYOUKYO
  265. 3640    LINE (X2,Y2)-(X2,218),PSET,0
  266. 3650 '
  267. 3660  REM ****ZAHYOU KETTEI
  268. 3670    X2=FNA(TH/180*PI):Y2=FNB(TH/180*PI)
  269. 3680    XX=FNC(TH/180!*PI)
  270. 3690 '
  271. 3700  REM ****EN EGAKU
  272. 3710    LINE (X1,Y1)-(X2,Y2),PSET,6
  273. 3720  REM ****KAITENSEN EGAKU
  274. 3730    LINE (139,219)-(X2,Y2),PSET,5
  275. 3740  REM ****KAKUDO EGAKU
  276. 3750      IF TH=1 OR TH=2 THEN THH=TH+2 ELSE THH=TH
  277. 3760      CIRCLE (139,219),15,3,1,(361-THH)/360,1,N
  278. 3770  REM ****SUISEN EGAKU
  279. 3780    IF TH<180 THEN GOTO 3800 ELSE GOTO 3810
  280. 3790    IF TH>45 AND TH<90 THEN GOTO 5150 ELSE GOTO 5160
  281. 3800    LINE (X2,Y2)-(X2,218),PSET,5: GOTO 3830
  282. 3810    LINE (X2,Y2)-(X2,220),PSET,5
  283. 3820  REM ****X-ZAHYOU SEN EGAKU
  284. 3830    LINE (139,219)-(X2,219),PSET,4
  285. 3840    X1=X2:Y1=Y2
  286. 3850 '
  287. 3860  REM ****EN SYUUHUKU
  288. 3870    IF TH=20  THEN THA=0  :THB=20 :GOSUB *EN1
  289. 3880    IF TH=200 THEN THA=180:THB=200:GOSUB *EN1
  290. 3890 '
  291. 3900  REM ****COMENT
  292. 3910    LOCATE 9,18:COLOR 7:PRINT "角  度=";TH;"度";
  293. 3920    LOCATE 36,18:COLOR 7:PRINT "X座標値=";XX;"              ";
  294. 3930 '
  295. 3940  REM ****COS CARB EGAKU
  296. 3950    YL=FND(TH/180*PI)
  297. 3960  REM ****SUISEM SYOUKYO
  298. 3970    LINE(XL0,YL0)-(XL0,219),PSET,0
  299. 3980  REM ****CARB EGAKU
  300. 3990    PSET(XL0,YL0),6:XL=XL+.75!
  301. 4000  REM ****SUISEN EGAKU
  302. 4010    LINE(XL,  YL)-(XL, 219),PSET,4
  303. 4020    XL0=XL:YL0=YL
  304. 4030  REM ****X-ZIKU HOSYUU
  305. 4040    LINE(282,219)-(574,219),PSET,2
  306. 4050 '
  307. 4060  REM ****KAKUDO ZAHYOU ZIKU
  308. 4070 CK=5
  309. 4080 IF TH=90  THEN XTH=358:XC1=349:XC2=130:YC2=114:A$="90°" :GOSUB *KZAH
  310. 4090 IF TH=182 THEN XTH=425:XC1=411:XC2=30 :YC2=212:A$="180°":GOSUB *KZAH
  311. 4100 IF TH=270 THEN XTH=492:XC1=478:XC2=125:YC2=315:A$="270°":GOSUB *KZAH
  312. 4110 IF TH=360 THEN XTH=559:XC1=545:XC2=218:YC2=212:A$="360°":GOSUB *KZAH
  313. 4120 NEXT
  314. 4130 WAIT 200
  315. 4140 '
  316. 4150 REM ****SYOKI SETTEI ********************************************
  317. 4160  R=70:PI=3.14159!:CLS 4
  318. 4170  'DEF FNA(X)=139+R*COS(X):DEF FNB(Y)=219-R*SIN(Y)
  319. 4180  'DEF FNC(X)=COS(X)      :DEF FND(X)=219-R*COS(X)
  320. 4190  'DEF FNE(Y)=219-R*SIN(Y)
  321. 4200  X01=FNA(0):Y01=FNB(0):X2LL=291:Y2LL=218:X2L0=291:Y2L0=218
  322. 4210  X1 =FNA(0):Y1 =FNB(0):X2=FNA(0):Y2=FNB(0):X2L=290:XL0=291:XL=290
  323. 4220 ' 
  324. 4230 REM ****EN ZAHYOU ZIKU 
  325. 4240  LINE(33, 114)-(264,336),PSET,0,BF
  326. 4250  LINE(139,132)-(139,309),PSET,2
  327. 4260  LINE(49, 219)-(229,219),PSET,2
  328. 4270  CIRCLE(139,219),2,5,,,,F
  329. 4280 '
  330. 4290 REM ****ENN EGAKU
  331. 4300  FOR TH=1 TO 360
  332. 4310    X02=FNA(TH/180*PI):Y02=FNB(TH/180*PI)
  333. 4320    LINE (X01,Y01)-(X02,Y02),PSET,1
  334. 4330    X01=X02:Y01=Y02
  335. 4340  NEXT
  336. 4350 '
  337. 4360 WAIT 100
  338. 4370 '
  339. 4380 LINE(139,180)-(139,219),PSET,4:LINE(290,180)-(290,219),PSET,4
  340. 4390 SYMBOL(128,180),"A" ,1,1,4,0:SYMBOL(128,224),"B" ,1,1,4,0
  341. 4400 SYMBOL(271,180),"A'",1,1,4,0:SYMBOL(271,224),"B'",1,1,4,0
  342. 4410 '
  343. 4420 LOCATE 7,23:COLOR 6:PRINT "左の円内の AB (SINθの値)を, 右の座標に A'B' として描いて行くよ。";:WAIT 300
  344. 4430 '
  345. 4440 FOR J=0 TO 5
  346. 4450   LINE(139,180)-(139,219),PSET,4:LINE(290,180)-(290,219),PSET,4
  347. 4460   WAIT 50
  348. 4470   LINE(139,180)-(139,219),PSET,2:LINE(290,180)-(290,219),PSET,2
  349. 4480   WAIT 50
  350. 4490 NEXT
  351. 4500 '
  352. 4510 LINE(139,180)-(139,219),PSET,4:LINE(290,180)-(290,219),PSET,4
  353. 4520 LOCATE 7,23:COLOR 6:PRINT SPACE$(70);:WAIT 50
  354. 4530 LOCATE 7,23:COLOR 6:PRINT "そうすると SIN カーブになるよ。";
  355. 4540 WAIT 300'
  356. 4550 '
  357. 4560 CLS 4:
  358. 4570 LINE(128,180)-(136,196),PSET,0,BF:LINE(128,224)-(136,240),PSET,0,BF
  359. 4580 LINE(271,180)-(287,196),PSET,0,BF:LINE(271,225)-(287,240),PSET,0,BF
  360. 4590 LINE(139,180)-(139,219),PSET,2:LINE(290,180)-(290,219),PSET,2
  361. 4600 '
  362. 4610 LOCATE 7,23:COLOR 6:PRINT "SIN カーブを描いています。";
  363. 4620 REM ****MAIN ROOTIN
  364. 4630  FOR TH=1 TO 360
  365. 4640  '
  366. 4650  REM ****SYUUHUKU
  367. 4660  REM ****TYUUSIN TEN
  368. 4670    CIRCLE(139,219),2,5,,,,F
  369. 4680  REM ****ZAHYOU ZIKU
  370. 4690    LINE(49, 219)-(229,219),PSET,2
  371. 4700    IF TH>90 AND TH<180 THEN GOTO 4730
  372. 4710    IF TH>180 AND TH <270 THEN GOTO 4750
  373. 4720    IF TH>271 AND TH <360 THEN GOTO 4740
  374. 4730    LINE(139,132)-(139,Y2),PSET,2:GOTO 4750
  375. 4740    LINE(139,289)-(139,Y2),PSET,2
  376. 4750  REM ****KAITENSEN SYOUKYO
  377. 4760    LINE(139,219)-(X2,Y2),PSET,0
  378. 4770  REM ****SUISEN SYOUKYO
  379. 4780    LINE (X2,Y2)-(140,Y2),PSET,0
  380. 4790 '
  381. 4800  REM ****ZAHYOU KETTEI
  382. 4810    X2=FNA(TH/180*PI):Y2=FNB(TH/180*PI)
  383. 4820    YY=FNF(TH/180!*PI)
  384. 4830 '
  385. 4840  REM ****EN EGAKU
  386. 4850    LINE (X1,Y1)-(X2,Y2),PSET,6
  387. 4860  REM ****KAITENSEN EGAKU
  388. 4870    LINE (139,219)-(X2,Y2),PSET,5
  389. 4880  REM ****KAKUDO EGAKU
  390. 4890      IF TH=1 OR TH=2 THEN THH=TH+2 ELSE THH=TH
  391. 4900      CIRCLE (139,219),15,3,1,(361-THH)/360,1,N
  392. 4910  REM ****SUISEN EGAKU
  393. 4920    IF TH<90 OR TH>270 THEN GOTO 4930 ELSE GOTO 4940
  394. 4930    LINE (X2,Y2)-(140,Y2),PSET,5:GOTO 4950
  395. 4940    LINE (X2,Y2)-(137,Y2),PSET,5
  396. 4950  REM ****Y-ZAHYOU SEN EGAKU
  397. 4960    LINE (139,219)-(139,Y2),PSET,4
  398. 4970    X1=X2:Y1=Y2
  399. 4980 '
  400. 4990  REM ****EN SYUUHUKU
  401. 5000    IF TH=120 THEN THA=90 :THB=120:GOSUB *EN1
  402. 5010    IF TH=300 THEN THA=270:THB=300:GOSUB *EN1
  403. 5020 '
  404. 5030  REM ****COMENT
  405. 5040    LOCATE 9,18 :COLOR 7:PRINT "角  度=";TH;"度";
  406. 5050    LOCATE 36,18:COLOR 7:PRINT "Y座標値=";YY;"              ";
  407. 5060 '
  408. 5070  REM ****SIN CARB EGAKU
  409. 5080    Y2L=FNE(TH/180*PI)
  410. 5090    YL =FND(TH/180*PI)
  411. 5100  REM ****SUISEN SYOUKYO
  412. 5110    LINE(X2L0,Y2L0)-(X2L0,219),PSET,0
  413. 5120  REM ****CARB EGAKU
  414. 5130    PSET(X2L0,Y2L0),6:X2L=X2L+.75!
  415. 5140    IF TH>45 AND TH<90 THEN GOTO 5150 ELSE GOTO 5160
  416. 5150    PSET(XL0,  YL0),6
  417. 5160    XL =XL +.75!
  418. 5170    IF TH>225 AND TH<270 THEN GOTO 5180 ELSE 5190
  419. 5180    PSET(XL0,  YL0),6
  420. 5190  REM ****SUISEN EGAKU
  421. 5200    LINE(X2L,  Y2L)-(X2L, 219),PSET,4
  422. 5210    X2L0=X2L:Y2L0=Y2L
  423. 5220    XL0=XL:YL0=YL
  424. 5230  REM ****X-ZIKU HOSYUU
  425. 5240    LINE(282,219)-(574,219),PSET,2
  426. 5250 '
  427. 5260  REM ****KAKUDO ZAHYOU ZIKU
  428. 5270 CK=7
  429. 5280 IF TH=93  THEN XTH=358:XC1=349:XC2=130:YC2=114:A$="90°" :GOSUB *KZAH
  430. 5290 IF TH=183 THEN XTH=425:XC1=411:XC2=30 :YC2=212:A$="180°":GOSUB *KZAH
  431. 5300 IF TH=273 THEN XTH=492:XC1=478:XC2=125:YC2=315:A$="270°":GOSUB *KZAH
  432. 5310 IF TH=360 THEN XTH=559:XC1=545:XC2=218:YC2=212:A$="360°":GOSUB *KZAH
  433. 5320 '
  434. 5330 NEXT
  435. 5340    LOCATE 36,18:COLOR 7:PRINT "Y座標値= 0                       ";
  436. 5350 WAIT 200
  437. 5360 '
  438. 5370  LINE(49, 219)-(229,219),PSET,2
  439. 5380    CIRCLE(139,219),2,5,,,,F
  440. 5390    CIRCLE(139,219),15,0,,,,N
  441. 5400 '
  442. 5410 LOCATE 7,23:COLOR 6:PRINT "SIN COSカーブを描き終わりました。     ";
  443. 5420 '
  444. 5430 GOTO *BUNKI
  445. 5440 '
  446. 5450 *BACK
  447. 5460  MOUSE 5:CLS 4
  448. 5470  LINE (356,432)-(594,457),PSET,0,BF
  449. 5480  GOTO 2970
  450. 5490 '
  451. 5500 *EN1
  452. 5510  X3=FNA(THA/180*PI):Y3=FNB(THA/180*PI)
  453. 5520  FOR TH=THA TO THB                        '***EN NO SYUUHUKU     
  454. 5530    X4=FNA(TH/180*PI):Y4=FNB(TH/180*PI)    '***ZAHYOU KETTEI
  455. 5540    LINE (X3,Y3)-(X4,Y4),PSET,6            '***EN WO EGAKU
  456. 5550    X3=X4:Y3=Y4
  457. 5560  NEXT
  458. 5570  RETURN
  459. 5580 '
  460. 5590 *KZAH
  461. 5600  LINE (XTH,132)-(XTH,309),PSET,7,,&H6666
  462. 5610  SYMBOL (XC1,114),A$,1,1,CK,0,PSET,0,2
  463. 5620  SYMBOL (XC2,YC2),A$,1,1,CK,0,PSET,0,2
  464. 5630 RETURN
  465. 5640 '
  466. 5650 *BUNKI
  467. 5660  LOCATE 7,23:COLOR 7:PRINT "                      説明を見る  デモを見る  メニューへ戻る  終わる";
  468. 5670  LINE (227,434)-(311,456),PSET,7,B
  469. 5680  LINE (324,434)-(409,456),PSET,7,B
  470. 5690  LINE (422,434)-(536,456),PSET,7,B
  471. 5700  LINE (549,434)-(601,456),PSET,7,B
  472. 5710 '
  473. 5720  MOUSE 5:MOUSE 0:MOUSE 1,200,438,1
  474. 5730  X=MOUSE(4,0):Y=MOUSE(5,0)
  475. 5740  IF X>227 AND X<311 AND Y>434 AND Y<456 THEN BUN=1:GOTO *BUNKI2
  476. 5750  IF X>324 AND X<409 AND Y>434 AND Y<456 THEN BUN=2:GOTO *BUNKI2
  477. 5760  IF X>422 AND X<536 AND Y>434 AND Y<456 THEN BUN=3:GOTO *BUNKI2
  478. 5770  IF X>549 AND X<601 AND Y>434 AND Y<456 THEN BUN=4:GOTO *BUNKI2
  479. 5780  GOTO 5730
  480. 5790 '
  481. 5800 *BUNKI2'
  482. 5810  MOUSE 5:CLS 4
  483. 5820  LINE (226,433)-(602,457),PSET,0,BF
  484. 5830  IF BUN=1 THEN GOTO *SETUMEI
  485. 5840  IF BUN=2 THEN GOTO *MAIN_PRO
  486. 5850  IF BUN=3 THEN GOTO *MENU_HE
  487. 5860  IF BUN=4 THEN SYSTEM
  488. 5870  '
  489. 5880 *MOUS
  490. 5890 MOUSE 0:MOUSE 1,100,100,1
  491. 5900 X=MOUSE(4,0):Y=MOUSE(5,0)
  492. 5910 LOCATE 5,23:PRINT X;Y;
  493. 5920 GOTO 5900
  494. 5930 '
  495. 5940 *MENU_HE
  496. 5950  MOUSE 5:CLS
  497. 5960  CHAIN "MENU2.BAS",,ALL
  498. 5970  RUN "MENU2.BAS"
  499. 5980 '
  500.